[INFO] fetching crate moore-vhdl 0.14.0...
[INFO] checking moore-vhdl-0.14.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate moore-vhdl 0.14.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate moore-vhdl 0.14.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate moore-vhdl 0.14.0
[INFO] finished tweaking crates.io crate moore-vhdl 0.14.0
[INFO] tweaked toml for crates.io crate moore-vhdl 0.14.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded moore-vhdl-syntax v0.14.0
[INFO] [stderr]   Downloaded moore-common v0.14.0
[INFO] [stderr]   Downloaded llhd v0.16.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0fcdec8e32bb93742bee1d242a62a818e46d8f2ec50f966c342e19d1a0ab1d81
[INFO] running `Command { std: "docker" "start" "-a" "0fcdec8e32bb93742bee1d242a62a818e46d8f2ec50f966c342e19d1a0ab1d81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0fcdec8e32bb93742bee1d242a62a818e46d8f2ec50f966c342e19d1a0ab1d81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0fcdec8e32bb93742bee1d242a62a818e46d8f2ec50f966c342e19d1a0ab1d81", kill_on_drop: false }`
[INFO] [stdout] 0fcdec8e32bb93742bee1d242a62a818e46d8f2ec50f966c342e19d1a0ab1d81
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bfc93ae054075671246278e0647e7d0432f80bad739e2c0fa4855d7b346e4e89
[INFO] running `Command { std: "docker" "start" "-a" "bfc93ae054075671246278e0647e7d0432f80bad739e2c0fa4855d7b346e4e89", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling num-bigint v0.3.3
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]    Compiling anyhow v1.0.80
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking lalrpop-util v0.19.12
[INFO] [stderr]     Checking pretty_env_logger v0.4.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking num-complex v0.3.1
[INFO] [stderr]     Checking moore-common v0.14.0
[INFO] [stderr]     Checking moore-vhdl-syntax v0.14.0
[INFO] [stderr]     Checking hibitset v0.6.4
[INFO] [stderr]     Checking num v0.3.1
[INFO] [stderr]     Checking llhd v0.16.0
[INFO] [stderr]     Checking moore-vhdl v0.14.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `AllocOwnedSelf`, `AllocSelf`
[INFO] [stdout]  --> hir/prelude.rs:9:71
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use crate::arenas::{Alloc, AllocInto, AllocOwned, AllocOwnedInto, AllocOwnedSelf, AllocSelf};
[INFO] [stdout]   |                                                                       ^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> hir/prelude.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use crate::ty2::{self, Type};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::obj_decl::*`
[INFO] [stdout]   --> hir/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use self::obj_decl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:70:47
[INFO] [stdout]    |
[INFO] [stdout] 70 |             (Def2::Node(a), Def2::Node(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                               ^                              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -             (Def2::Node(a), Def2::Node(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 70 +             (Def2::Node(a), Def2::Node(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:71:45
[INFO] [stdout]    |
[INFO] [stdout] 71 |             (Def2::Lib(a), Def2::Lib(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                             ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 71 -             (Def2::Lib(a), Def2::Lib(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 71 +             (Def2::Lib(a), Def2::Lib(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:72:45
[INFO] [stdout]    |
[INFO] [stdout] 72 |             (Def2::Pkg(a), Def2::Pkg(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                             ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 72 -             (Def2::Pkg(a), Def2::Pkg(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 72 +             (Def2::Pkg(a), Def2::Pkg(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:73:47
[INFO] [stdout]    |
[INFO] [stdout] 73 |             (Def2::Type(a), Def2::Type(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                               ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 73 -             (Def2::Type(a), Def2::Type(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 73 +             (Def2::Type(a), Def2::Type(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:74:47
[INFO] [stdout]    |
[INFO] [stdout] 74 |             (Def2::Enum(a), Def2::Enum(b)) => (a == b),
[INFO] [stdout]    |                                               ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 74 -             (Def2::Enum(a), Def2::Enum(b)) => (a == b),
[INFO] [stdout] 74 +             (Def2::Enum(a), Def2::Enum(b)) => a == b,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:75:47
[INFO] [stdout]    |
[INFO] [stdout] 75 |             (Def2::Unit(a), Def2::Unit(b)) => (a == b),
[INFO] [stdout]    |                                               ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 75 -             (Def2::Unit(a), Def2::Unit(b)) => (a == b),
[INFO] [stdout] 75 +             (Def2::Unit(a), Def2::Unit(b)) => a == b,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::BigInt`
[INFO] [stdout]  --> ty2/subtypes.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use num::BigInt;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::BigInt`
[INFO] [stdout]  --> ty2/types.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use num::BigInt;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocOwnedSelf`, `AllocSelf`
[INFO] [stdout]  --> hir/prelude.rs:9:71
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use crate::arenas::{Alloc, AllocInto, AllocOwned, AllocOwnedInto, AllocOwnedSelf, AllocSelf};
[INFO] [stdout]   |                                                                       ^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> hir/prelude.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use crate::ty2::{self, Type};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::obj_decl::*`
[INFO] [stdout]   --> hir/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use self::obj_decl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:70:47
[INFO] [stdout]    |
[INFO] [stdout] 70 |             (Def2::Node(a), Def2::Node(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                               ^                              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -             (Def2::Node(a), Def2::Node(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 70 +             (Def2::Node(a), Def2::Node(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:71:45
[INFO] [stdout]    |
[INFO] [stdout] 71 |             (Def2::Lib(a), Def2::Lib(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                             ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 71 -             (Def2::Lib(a), Def2::Lib(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 71 +             (Def2::Lib(a), Def2::Lib(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:72:45
[INFO] [stdout]    |
[INFO] [stdout] 72 |             (Def2::Pkg(a), Def2::Pkg(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                             ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 72 -             (Def2::Pkg(a), Def2::Pkg(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 72 +             (Def2::Pkg(a), Def2::Pkg(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:73:47
[INFO] [stdout]    |
[INFO] [stdout] 73 |             (Def2::Type(a), Def2::Type(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                               ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 73 -             (Def2::Type(a), Def2::Type(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 73 +             (Def2::Type(a), Def2::Type(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:74:47
[INFO] [stdout]    |
[INFO] [stdout] 74 |             (Def2::Enum(a), Def2::Enum(b)) => (a == b),
[INFO] [stdout]    |                                               ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 74 -             (Def2::Enum(a), Def2::Enum(b)) => (a == b),
[INFO] [stdout] 74 +             (Def2::Enum(a), Def2::Enum(b)) => a == b,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:75:47
[INFO] [stdout]    |
[INFO] [stdout] 75 |             (Def2::Unit(a), Def2::Unit(b)) => (a == b),
[INFO] [stdout]    |                                               ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 75 -             (Def2::Unit(a), Def2::Unit(b)) => (a == b),
[INFO] [stdout] 75 +             (Def2::Unit(a), Def2::Unit(b)) => a == b,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::BigInt`
[INFO] [stdout]  --> ty2/subtypes.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use num::BigInt;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::BigInt`
[INFO] [stdout]  --> ty2/types.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use num::BigInt;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: struct takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> hir/arena.rs:17:21
[INFO] [stdout]     |
[INFO] [stdout] 17  |         const_decl: ConstDecl<'t>,
[INFO] [stdout]     |                     ^^^^^^^^^---- help: remove these generics
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     expected 0 lifetime arguments
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 0 lifetime parameters
[INFO] [stdout]    --> hir/mod.rs:509:12
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub struct ConstDecl {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: struct takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> hir/arena.rs:23:35
[INFO] [stdout]     |
[INFO] [stdout] 23  |         const_decl_slot: Slot<'t, ConstDecl<'t>>,
[INFO] [stdout]     |                                   ^^^^^^^^^---- help: remove these generics
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   expected 0 lifetime arguments
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 0 lifetime parameters
[INFO] [stdout]    --> hir/mod.rs:509:12
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub struct ConstDecl {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/lib.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |     units: Vec<&'t LatentNode<'t, Node<'t>>>,
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/pkg.rs:14:35
[INFO] [stdout]    |
[INFO] [stdout] 14 |     decls: Vec<&'t LatentNode<'t, Decl2<'t>>>,
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> scope2.rs:26:34
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Node(&'t hir::LatentNode<'t, Node<'t>>),
[INFO] [stdout]    |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]    --> debug.rs:134:41
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, konst2::Const2<'t>> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]    --> debug.rs:140:41
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, ty2::Type> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 |     + AllocOwnedInto<'t, Const2<'t>>
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |     + AllocOwnedInto<'t, Type>
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:40:30
[INFO] [stdout]    |
[INFO] [stdout] 40 |         + AllocOwnedInto<'t, Const2<'t>>
[INFO] [stdout]    |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |         + AllocOwnedInto<'t, Type>
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/lib.rs:60:49
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn units(&self) -> &[&'t LatentNode<'t, Node<'t>>] {
[INFO] [stdout]    |                                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/pkg.rs:25:49
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn decls(&self) -> &[&'t LatentNode<'t, Decl2<'t>>] {
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> konst2/arena.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<'t> AllocOwned<'t, 't, Const2<'t>> for ConstArena<'t> {
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> ty2/arena.rs:27:29
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl<'t> AllocOwned<'t, 't, Type> for TypeArena<'t> {
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: struct takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> hir/arena.rs:17:21
[INFO] [stdout]     |
[INFO] [stdout] 17  |         const_decl: ConstDecl<'t>,
[INFO] [stdout]     |                     ^^^^^^^^^---- help: remove these generics
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     expected 0 lifetime arguments
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 0 lifetime parameters
[INFO] [stdout]    --> hir/mod.rs:509:12
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub struct ConstDecl {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: struct takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> hir/arena.rs:23:35
[INFO] [stdout]     |
[INFO] [stdout] 23  |         const_decl_slot: Slot<'t, ConstDecl<'t>>,
[INFO] [stdout]     |                                   ^^^^^^^^^---- help: remove these generics
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   expected 0 lifetime arguments
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 0 lifetime parameters
[INFO] [stdout]    --> hir/mod.rs:509:12
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub struct ConstDecl {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/lib.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |     units: Vec<&'t LatentNode<'t, Node<'t>>>,
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/pkg.rs:14:35
[INFO] [stdout]    |
[INFO] [stdout] 14 |     decls: Vec<&'t LatentNode<'t, Decl2<'t>>>,
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> scope2.rs:26:34
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Node(&'t hir::LatentNode<'t, Node<'t>>),
[INFO] [stdout]    |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]    --> debug.rs:134:41
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, konst2::Const2<'t>> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]    --> debug.rs:140:41
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, ty2::Type> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 |     + AllocOwnedInto<'t, Const2<'t>>
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |     + AllocOwnedInto<'t, Type>
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:40:30
[INFO] [stdout]    |
[INFO] [stdout] 40 |         + AllocOwnedInto<'t, Const2<'t>>
[INFO] [stdout]    |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |         + AllocOwnedInto<'t, Type>
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/lib.rs:60:49
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn units(&self) -> &[&'t LatentNode<'t, Node<'t>>] {
[INFO] [stdout]    |                                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/pkg.rs:25:49
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn decls(&self) -> &[&'t LatentNode<'t, Decl2<'t>>] {
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> konst2/arena.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<'t> AllocOwned<'t, 't, Const2<'t>> for ConstArena<'t> {
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> ty2/arena.rs:27:29
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl<'t> AllocOwned<'t, 't, Type> for TypeArena<'t> {
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::ConstDecl: node::FromAst<'t>` is not satisfied in `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> arenas.rs:165:28
[INFO] [stdout]     |
[INFO] [stdout] 165 |           impl<'a, $($lt),*> $crate::arenas::Alloc<'a, 'a, $type> for $arena_name<$($lt),*> where $($lt: 'a),* {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ within `slot::Slot<'t, hir::ConstDecl>`, the trait `node::FromAst<'t>` is not implemented for `hir::ConstDecl`, which is required by `slot::Slot<'t, hir::ConstDecl>: Sized`
[INFO] [stdout]     |
[INFO] [stdout]    ::: hir/arena.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | / make_arenas!(
[INFO] [stdout] 9   | |     /// An arena to allocate HIR nodes into.
[INFO] [stdout] 10  | |     pub struct Arenas2<'t> {
[INFO] [stdout] 11  | |         scope_data: ScopeData<'t>,
[INFO] [stdout] ...   |
[INFO] [stdout] 24  | |     }
[INFO] [stdout] 25  | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `node::FromAst<'t>`:
[INFO] [stdout]               hir::obj_decl::ConstDecl<'t>
[INFO] [stdout]               pkg::Package2<'t>
[INFO] [stdout]               subtype_decl::SubtypeInd2<'t>
[INFO] [stdout]               hir::type_decl::TypeDecl2<'t>
[INFO] [stdout] note: required because it appears within the type `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> hir/slot.rs:13:12
[INFO] [stdout]     |
[INFO] [stdout] 13  | pub struct Slot<'t, T>(RefCell<SlotState<'t, T>>)
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] note: required by an implicit `Sized` bound in `arenas::Alloc`
[INFO] [stdout]    --> arenas.rs:10:25
[INFO] [stdout]     |
[INFO] [stdout] 10  | pub trait Alloc<'a, 't, T: 't> {
[INFO] [stdout]     |                         ^ required by the implicit `Sized` requirement on this type parameter in `Alloc`
[INFO] [stdout]     = note: this error originates in the macro `make_arenas` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::ConstDecl: node::FromAst<'t>` is not satisfied
[INFO] [stdout]   --> hir/arena.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |         const_decl_slot: Slot<'t, ConstDecl<'t>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^ the trait `node::FromAst<'t>` is not implemented for `hir::ConstDecl`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `node::FromAst<'t>`:
[INFO] [stdout]              hir::obj_decl::ConstDecl<'t>
[INFO] [stdout]              pkg::Package2<'t>
[INFO] [stdout]              subtype_decl::SubtypeInd2<'t>
[INFO] [stdout]              hir::type_decl::TypeDecl2<'t>
[INFO] [stdout] note: required by a bound in `slot::Slot`
[INFO] [stdout]   --> hir/slot.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Slot<'t, T>(RefCell<SlotState<'t, T>>)
[INFO] [stdout]    |            ---- required by a bound in this struct
[INFO] [stdout] 14 | where
[INFO] [stdout] 15 |     T: FromAst<'t> + 't;
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `Slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::ConstDecl: node::FromAst<'t>` is not satisfied in `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> arenas.rs:165:28
[INFO] [stdout]     |
[INFO] [stdout] 165 |           impl<'a, $($lt),*> $crate::arenas::Alloc<'a, 'a, $type> for $arena_name<$($lt),*> where $($lt: 'a),* {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ within `slot::Slot<'t, hir::ConstDecl>`, the trait `node::FromAst<'t>` is not implemented for `hir::ConstDecl`, which is required by `slot::Slot<'t, hir::ConstDecl>: Sized`
[INFO] [stdout]     |
[INFO] [stdout]    ::: hir/arena.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | / make_arenas!(
[INFO] [stdout] 9   | |     /// An arena to allocate HIR nodes into.
[INFO] [stdout] 10  | |     pub struct Arenas2<'t> {
[INFO] [stdout] 11  | |         scope_data: ScopeData<'t>,
[INFO] [stdout] ...   |
[INFO] [stdout] 24  | |     }
[INFO] [stdout] 25  | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `node::FromAst<'t>`:
[INFO] [stdout]               hir::obj_decl::ConstDecl<'t>
[INFO] [stdout]               pkg::Package2<'t>
[INFO] [stdout]               subtype_decl::SubtypeInd2<'t>
[INFO] [stdout]               hir::type_decl::TypeDecl2<'t>
[INFO] [stdout] note: required because it appears within the type `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> hir/slot.rs:13:12
[INFO] [stdout]     |
[INFO] [stdout] 13  | pub struct Slot<'t, T>(RefCell<SlotState<'t, T>>)
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] note: required by an implicit `Sized` bound in `arenas::Alloc`
[INFO] [stdout]    --> arenas.rs:10:25
[INFO] [stdout]     |
[INFO] [stdout] 10  | pub trait Alloc<'a, 't, T: 't> {
[INFO] [stdout]     |                         ^ required by the implicit `Sized` requirement on this type parameter in `Alloc`
[INFO] [stdout]     = note: this error originates in the macro `make_arenas` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::ConstDecl: node::FromAst<'t>` is not satisfied
[INFO] [stdout]   --> hir/arena.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |         const_decl_slot: Slot<'t, ConstDecl<'t>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^ the trait `node::FromAst<'t>` is not implemented for `hir::ConstDecl`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `node::FromAst<'t>`:
[INFO] [stdout]              hir::obj_decl::ConstDecl<'t>
[INFO] [stdout]              pkg::Package2<'t>
[INFO] [stdout]              subtype_decl::SubtypeInd2<'t>
[INFO] [stdout]              hir::type_decl::TypeDecl2<'t>
[INFO] [stdout] note: required by a bound in `slot::Slot`
[INFO] [stdout]   --> hir/slot.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Slot<'t, T>(RefCell<SlotState<'t, T>>)
[INFO] [stdout]    |            ---- required by a bound in this struct
[INFO] [stdout] 14 | where
[INFO] [stdout] 15 |     T: FromAst<'t> + 't;
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `Slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::ConstDecl: node::FromAst<'t>` is not satisfied in `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> arenas.rs:166:32
[INFO] [stdout]     |
[INFO] [stdout] 166 |               fn alloc(&'a self, value: $type) -> &'a mut $type {
[INFO] [stdout]     |                                  ^^^^^ within `slot::Slot<'t, hir::ConstDecl>`, the trait `node::FromAst<'t>` is not implemented for `hir::ConstDecl`, which is required by `slot::Slot<'t, hir::ConstDecl>: Sized`
[INFO] [stdout]     |
[INFO] [stdout]    ::: hir/arena.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | / make_arenas!(
[INFO] [stdout] 9   | |     /// An arena to allocate HIR nodes into.
[INFO] [stdout] 10  | |     pub struct Arenas2<'t> {
[INFO] [stdout] 11  | |         scope_data: ScopeData<'t>,
[INFO] [stdout] ...   |
[INFO] [stdout] 24  | |     }
[INFO] [stdout] 25  | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `node::FromAst<'t>`:
[INFO] [stdout]               hir::obj_decl::ConstDecl<'t>
[INFO] [stdout]               pkg::Package2<'t>
[INFO] [stdout]               subtype_decl::SubtypeInd2<'t>
[INFO] [stdout]               hir::type_decl::TypeDecl2<'t>
[INFO] [stdout] note: required because it appears within the type `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> hir/slot.rs:13:12
[INFO] [stdout]     |
[INFO] [stdout] 13  | pub struct Slot<'t, T>(RefCell<SlotState<'t, T>>)
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout]     = note: this error originates in the macro `make_arenas` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]    --> hir/arena.rs:23:26
[INFO] [stdout]     |
[INFO] [stdout] 23  |         const_decl_slot: &Slot<'t, ConstDecl<'t>>,
[INFO] [stdout]     |                          +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::arena::Arenas2<'_>: arenas::Alloc<'_, '_, slot::Slot<'_, hir::obj_decl::ConstDecl<'t>>>` is not satisfied
[INFO] [stdout]   --> hir/obj_decl.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 let slot: &_ = context.alloc(Slot::new((ast.span, name, ty, init), context));
[INFO] [stdout]    |                                        ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `arenas::Alloc<'_, '_, slot::Slot<'_, hir::obj_decl::ConstDecl<'t>>>` is not implemented for `hir::arena::Arenas2<'_>`, which is required by `alloc_ctx::AllocContext<'t>: arenas::Alloc<'_, '_, _>`
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `arenas::Alloc<'a, 't, T>`:
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, scope2::ScopeData<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, lib::Library<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, pkg::Package2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::type_decl::TypeDecl2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, subtype_decl::SubtypeInd2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::ConstDecl>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::expr::LitExpr>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, slot::Slot<'t, pkg::Package2<'t>>>>
[INFO] [stdout]            and 3 others
[INFO] [stdout] note: required for `alloc_ctx::AllocContext<'t>` to implement `arenas::Alloc<'_, '_, slot::Slot<'_, hir::obj_decl::ConstDecl<'t>>>`
[INFO] [stdout]   --> hir/alloc_ctx.rs:36:21
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<'a, 't, T: 't> Alloc<'a, 't, T> for AllocContext<'t>
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 | where
[INFO] [stdout] 38 |     Arenas2<'t>: Alloc<'t, 't, T>,
[INFO] [stdout]    |                  ---------------- unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::arena::Arenas2<'_>: arenas::Alloc<'_, '_, hir::obj_decl::ConstDecl<'t>>` is not satisfied
[INFO] [stdout]   --> hir/obj_decl.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 let slot: &_ = context.alloc(Slot::new((ast.span, name, ty, init), context));
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `arenas::Alloc<'_, '_, hir::obj_decl::ConstDecl<'t>>` is not implemented for `hir::arena::Arenas2<'_>`, which is required by `for<'a> alloc_ctx::AllocContext<'t>: arenas::Alloc<'a, '_, hir::obj_decl::ConstDecl<'t>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `arenas::Alloc<'a, 't, T>`:
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, scope2::ScopeData<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, lib::Library<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, pkg::Package2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::type_decl::TypeDecl2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, subtype_decl::SubtypeInd2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::ConstDecl>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::expr::LitExpr>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, slot::Slot<'t, pkg::Package2<'t>>>>
[INFO] [stdout]            and 3 others
[INFO] [stdout] note: required for `alloc_ctx::AllocContext<'t>` to implement `for<'a> arenas::Alloc<'a, '_, hir::obj_decl::ConstDecl<'t>>`
[INFO] [stdout]   --> hir/alloc_ctx.rs:36:21
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<'a, 't, T: 't> Alloc<'a, 't, T> for AllocContext<'t>
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 | where
[INFO] [stdout] 38 |     Arenas2<'t>: Alloc<'t, 't, T>,
[INFO] [stdout]    |                  ---------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `slot::Slot::<'t, T>::new`
[INFO] [stdout]   --> hir/slot.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |     T::Context: for<'a> Alloc<'a, 't, T> + Clone,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Slot::<'t, T>::new`
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn new(ast: T::LatentInput, context: T::Context) -> Slot<'t, T> {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::ConstDecl: node::FromAst<'t>` is not satisfied in `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> arenas.rs:166:32
[INFO] [stdout]     |
[INFO] [stdout] 166 |               fn alloc(&'a self, value: $type) -> &'a mut $type {
[INFO] [stdout]     |                                  ^^^^^ within `slot::Slot<'t, hir::ConstDecl>`, the trait `node::FromAst<'t>` is not implemented for `hir::ConstDecl`, which is required by `slot::Slot<'t, hir::ConstDecl>: Sized`
[INFO] [stdout]     |
[INFO] [stdout]    ::: hir/arena.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | / make_arenas!(
[INFO] [stdout] 9   | |     /// An arena to allocate HIR nodes into.
[INFO] [stdout] 10  | |     pub struct Arenas2<'t> {
[INFO] [stdout] 11  | |         scope_data: ScopeData<'t>,
[INFO] [stdout] ...   |
[INFO] [stdout] 24  | |     }
[INFO] [stdout] 25  | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `node::FromAst<'t>`:
[INFO] [stdout]               hir::obj_decl::ConstDecl<'t>
[INFO] [stdout]               pkg::Package2<'t>
[INFO] [stdout]               subtype_decl::SubtypeInd2<'t>
[INFO] [stdout]               hir::type_decl::TypeDecl2<'t>
[INFO] [stdout] note: required because it appears within the type `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> hir/slot.rs:13:12
[INFO] [stdout]     |
[INFO] [stdout] 13  | pub struct Slot<'t, T>(RefCell<SlotState<'t, T>>)
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout]     = note: this error originates in the macro `make_arenas` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]    --> hir/arena.rs:23:26
[INFO] [stdout]     |
[INFO] [stdout] 23  |         const_decl_slot: &Slot<'t, ConstDecl<'t>>,
[INFO] [stdout]     |                          +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::arena::Arenas2<'_>: arenas::Alloc<'_, '_, slot::Slot<'_, hir::obj_decl::ConstDecl<'t>>>` is not satisfied
[INFO] [stdout]   --> hir/obj_decl.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 let slot: &_ = context.alloc(Slot::new((ast.span, name, ty, init), context));
[INFO] [stdout]    |                                        ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `arenas::Alloc<'_, '_, slot::Slot<'_, hir::obj_decl::ConstDecl<'t>>>` is not implemented for `hir::arena::Arenas2<'_>`, which is required by `alloc_ctx::AllocContext<'t>: arenas::Alloc<'_, '_, _>`
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `arenas::Alloc<'a, 't, T>`:
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, scope2::ScopeData<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, lib::Library<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, pkg::Package2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::type_decl::TypeDecl2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, subtype_decl::SubtypeInd2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::ConstDecl>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::expr::LitExpr>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, slot::Slot<'t, pkg::Package2<'t>>>>
[INFO] [stdout]            and 3 others
[INFO] [stdout] note: required for `alloc_ctx::AllocContext<'t>` to implement `arenas::Alloc<'_, '_, slot::Slot<'_, hir::obj_decl::ConstDecl<'t>>>`
[INFO] [stdout]   --> hir/alloc_ctx.rs:36:21
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<'a, 't, T: 't> Alloc<'a, 't, T> for AllocContext<'t>
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 | where
[INFO] [stdout] 38 |     Arenas2<'t>: Alloc<'t, 't, T>,
[INFO] [stdout]    |                  ---------------- unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::arena::Arenas2<'_>: arenas::Alloc<'_, '_, hir::obj_decl::ConstDecl<'t>>` is not satisfied
[INFO] [stdout]   --> hir/obj_decl.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 let slot: &_ = context.alloc(Slot::new((ast.span, name, ty, init), context));
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `arenas::Alloc<'_, '_, hir::obj_decl::ConstDecl<'t>>` is not implemented for `hir::arena::Arenas2<'_>`, which is required by `for<'a> alloc_ctx::AllocContext<'t>: arenas::Alloc<'a, '_, hir::obj_decl::ConstDecl<'t>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `arenas::Alloc<'a, 't, T>`:
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, scope2::ScopeData<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, lib::Library<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, pkg::Package2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::type_decl::TypeDecl2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, subtype_decl::SubtypeInd2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::ConstDecl>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::expr::LitExpr>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, slot::Slot<'t, pkg::Package2<'t>>>>
[INFO] [stdout]            and 3 others
[INFO] [stdout] note: required for `alloc_ctx::AllocContext<'t>` to implement `for<'a> arenas::Alloc<'a, '_, hir::obj_decl::ConstDecl<'t>>`
[INFO] [stdout]   --> hir/alloc_ctx.rs:36:21
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<'a, 't, T: 't> Alloc<'a, 't, T> for AllocContext<'t>
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 | where
[INFO] [stdout] 38 |     Arenas2<'t>: Alloc<'t, 't, T>,
[INFO] [stdout]    |                  ---------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `slot::Slot::<'t, T>::new`
[INFO] [stdout]   --> hir/slot.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |     T::Context: for<'a> Alloc<'a, 't, T> + Clone,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Slot::<'t, T>::new`
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn new(ast: T::LatentInput, context: T::Context) -> Slot<'t, T> {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> debug.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, konst2::Const2<'t>> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |              -- lifetime `'t` defined here
[INFO] [stdout] 135 |     fn alloc_owned(&'b self, value: OwnedConst<'t>) -> &'t Const2<'t> {
[INFO] [stdout]     |                    -------- `self` is a reference that is only valid in the method body
[INFO] [stdout] 136 |         self.const_arena.alloc_owned(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `self` escapes the method body here
[INFO] [stdout]     |         argument requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> debug.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, ty2::Type> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |              -- lifetime `'t` defined here
[INFO] [stdout] 141 |     fn alloc_owned(&'b self, value: ty2::OwnedType<'t>) -> &'t ty2::Type {
[INFO] [stdout]     |                    -------- `self` is a reference that is only valid in the method body
[INFO] [stdout] 142 |         self.type_arena.alloc_owned(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `self` escapes the method body here
[INFO] [stdout]     |         argument requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> debug.rs:152:24
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl<'t> Visitor<'t> for TypeVisitor<'t> {
[INFO] [stdout]     |      -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn visit_type_decl(&mut self, decl: &'t hir::TypeDecl2<'t>) {
[INFO] [stdout]     |                        --------- `self` is a reference that is only valid in the method body
[INFO] [stdout] 152 |         if let Ok(t) = decl.declared_type(self as &_) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `self` escapes the method body here
[INFO] [stdout]     |                        argument requires that `'t` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout]     = note: requirement occurs because of the type `hir::type_decl::TypeDecl2<'_>`, which makes the generic argument `'_` invariant
[INFO] [stdout]     = note: the struct `hir::type_decl::TypeDecl2<'t>` is invariant over the parameter `'t`
[INFO] [stdout]     = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> hir/expr.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 135 |   impl<'t> Expr2<'t> for LitExpr {
[INFO] [stdout]     |        -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 143 |       fn constant_value(&self, ctx: &ExprContext<'t>) -> Result<&'t Const2<'t>> {
[INFO] [stdout]     |                                --- `ctx` is a reference that is only valid in the method body
[INFO] [stdout] 144 |           Ok(ctx.alloc_owned(match self.value {
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 145 | |             LitExprValue::Integer(ref v) => IntegerConst::try_new(&UniversalIntegerType, v.clone())
[INFO] [stdout] 146 | |                 .emit(ctx)?
[INFO] [stdout] 147 | |                 .into_owned(),
[INFO] [stdout] ...   |
[INFO] [stdout] 155 | |             }
[INFO] [stdout] 156 | |         }))
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________`ctx` escapes the method body here
[INFO] [stdout]     |            argument requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> hir/expr.rs:221:30
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl<'t> Range2<'t> {
[INFO] [stdout]     |      -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 221 |                 Ok((d.value, ctx.maybe_alloc(lc?), ctx.maybe_alloc(rc?)))
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^ requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> hir/type_decl.rs:134:42
[INFO] [stdout]     |
[INFO] [stdout] 40  | impl<'t> TypeDecl2<'t> {
[INFO] [stdout]     |      -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 134 |                 let ty = AccessType::new(subtype.declared_type(ctx)?);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cast requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> debug.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, konst2::Const2<'t>> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |              -- lifetime `'t` defined here
[INFO] [stdout] 135 |     fn alloc_owned(&'b self, value: OwnedConst<'t>) -> &'t Const2<'t> {
[INFO] [stdout]     |                    -------- `self` is a reference that is only valid in the method body
[INFO] [stdout] 136 |         self.const_arena.alloc_owned(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `self` escapes the method body here
[INFO] [stdout]     |         argument requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> debug.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, ty2::Type> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |              -- lifetime `'t` defined here
[INFO] [stdout] 141 |     fn alloc_owned(&'b self, value: ty2::OwnedType<'t>) -> &'t ty2::Type {
[INFO] [stdout]     |                    -------- `self` is a reference that is only valid in the method body
[INFO] [stdout] 142 |         self.type_arena.alloc_owned(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `self` escapes the method body here
[INFO] [stdout]     |         argument requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> debug.rs:152:24
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl<'t> Visitor<'t> for TypeVisitor<'t> {
[INFO] [stdout]     |      -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn visit_type_decl(&mut self, decl: &'t hir::TypeDecl2<'t>) {
[INFO] [stdout]     |                        --------- `self` is a reference that is only valid in the method body
[INFO] [stdout] 152 |         if let Ok(t) = decl.declared_type(self as &_) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `self` escapes the method body here
[INFO] [stdout]     |                        argument requires that `'t` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout]     = note: requirement occurs because of the type `hir::type_decl::TypeDecl2<'_>`, which makes the generic argument `'_` invariant
[INFO] [stdout]     = note: the struct `hir::type_decl::TypeDecl2<'t>` is invariant over the parameter `'t`
[INFO] [stdout]     = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> hir/expr.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 135 |   impl<'t> Expr2<'t> for LitExpr {
[INFO] [stdout]     |        -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 143 |       fn constant_value(&self, ctx: &ExprContext<'t>) -> Result<&'t Const2<'t>> {
[INFO] [stdout]     |                                --- `ctx` is a reference that is only valid in the method body
[INFO] [stdout] 144 |           Ok(ctx.alloc_owned(match self.value {
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 145 | |             LitExprValue::Integer(ref v) => IntegerConst::try_new(&UniversalIntegerType, v.clone())
[INFO] [stdout] 146 | |                 .emit(ctx)?
[INFO] [stdout] 147 | |                 .into_owned(),
[INFO] [stdout] ...   |
[INFO] [stdout] 155 | |             }
[INFO] [stdout] 156 | |         }))
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________`ctx` escapes the method body here
[INFO] [stdout]     |            argument requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> hir/expr.rs:221:30
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl<'t> Range2<'t> {
[INFO] [stdout]     |      -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 221 |                 Ok((d.value, ctx.maybe_alloc(lc?), ctx.maybe_alloc(rc?)))
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^ requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> hir/type_decl.rs:134:42
[INFO] [stdout]     |
[INFO] [stdout] 40  | impl<'t> TypeDecl2<'t> {
[INFO] [stdout]     |      -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 134 |                 let ty = AccessType::new(subtype.declared_type(ctx)?);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cast requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 26 previous errors; 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0228, E0277, E0521.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `moore-vhdl` (lib test) due to 27 previous errors; 11 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 26 previous errors; 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0228, E0277, E0521.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `moore-vhdl` (lib) due to 27 previous errors; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "bfc93ae054075671246278e0647e7d0432f80bad739e2c0fa4855d7b346e4e89", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bfc93ae054075671246278e0647e7d0432f80bad739e2c0fa4855d7b346e4e89", kill_on_drop: false }`
[INFO] [stdout] bfc93ae054075671246278e0647e7d0432f80bad739e2c0fa4855d7b346e4e89
[INFO] checking moore-vhdl-0.14.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate moore-vhdl 0.14.0 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate moore-vhdl 0.14.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate moore-vhdl 0.14.0
[INFO] finished tweaking crates.io crate moore-vhdl 0.14.0
[INFO] tweaked toml for crates.io crate moore-vhdl 0.14.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 039236d3c978909e88c0fd091076c3cbe921c0db864c68eb555de805eba2ea2d
[INFO] running `Command { std: "docker" "start" "-a" "039236d3c978909e88c0fd091076c3cbe921c0db864c68eb555de805eba2ea2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "039236d3c978909e88c0fd091076c3cbe921c0db864c68eb555de805eba2ea2d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "039236d3c978909e88c0fd091076c3cbe921c0db864c68eb555de805eba2ea2d", kill_on_drop: false }`
[INFO] [stdout] 039236d3c978909e88c0fd091076c3cbe921c0db864c68eb555de805eba2ea2d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 09f5119f0e0253ca96be5eabb2a91e4b694c2d7f9ab4aa6064471b692317badb
[INFO] running `Command { std: "docker" "start" "-a" "09f5119f0e0253ca96be5eabb2a91e4b694c2d7f9ab4aa6064471b692317badb", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling num-bigint v0.3.3
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]    Compiling anyhow v1.0.80
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking lalrpop-util v0.19.12
[INFO] [stderr]     Checking pretty_env_logger v0.4.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]     Checking num-complex v0.3.1
[INFO] [stderr]     Checking moore-common v0.14.0
[INFO] [stderr]     Checking moore-vhdl-syntax v0.14.0
[INFO] [stderr]     Checking hibitset v0.6.4
[INFO] [stderr]     Checking num v0.3.1
[INFO] [stderr]     Checking llhd v0.16.0
[INFO] [stderr]     Checking moore-vhdl v0.14.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> score/scope.rs:240:42
[INFO] [stdout]     |
[INFO] [stdout] 240 | ...                   tail = &tail[1..];
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> score/mod.rs:792:18
[INFO] [stdout]     |
[INFO] [stdout] 792 |         for i in 0..name.parts.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> score/mod.rs:841:78
[INFO] [stdout]     |
[INFO] [stdout] 841 |                 _ => return Ok((res_name.value, defs, seen_span, &name.parts[i..])),
[INFO] [stdout]     |                                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocOwnedSelf`, `AllocSelf`
[INFO] [stdout]  --> hir/prelude.rs:9:71
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use crate::arenas::{Alloc, AllocInto, AllocOwned, AllocOwnedInto, AllocOwnedSelf, AllocSelf};
[INFO] [stdout]   |                                                                       ^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> hir/prelude.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use crate::ty2::{self, Type};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::obj_decl::*`
[INFO] [stdout]   --> hir/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use self::obj_decl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:70:47
[INFO] [stdout]    |
[INFO] [stdout] 70 |             (Def2::Node(a), Def2::Node(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                               ^                              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -             (Def2::Node(a), Def2::Node(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 70 +             (Def2::Node(a), Def2::Node(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:71:45
[INFO] [stdout]    |
[INFO] [stdout] 71 |             (Def2::Lib(a), Def2::Lib(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                             ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 71 -             (Def2::Lib(a), Def2::Lib(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 71 +             (Def2::Lib(a), Def2::Lib(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:72:45
[INFO] [stdout]    |
[INFO] [stdout] 72 |             (Def2::Pkg(a), Def2::Pkg(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                             ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 72 -             (Def2::Pkg(a), Def2::Pkg(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 72 +             (Def2::Pkg(a), Def2::Pkg(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:73:47
[INFO] [stdout]    |
[INFO] [stdout] 73 |             (Def2::Type(a), Def2::Type(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                               ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 73 -             (Def2::Type(a), Def2::Type(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 73 +             (Def2::Type(a), Def2::Type(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:74:47
[INFO] [stdout]    |
[INFO] [stdout] 74 |             (Def2::Enum(a), Def2::Enum(b)) => (a == b),
[INFO] [stdout]    |                                               ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 74 -             (Def2::Enum(a), Def2::Enum(b)) => (a == b),
[INFO] [stdout] 74 +             (Def2::Enum(a), Def2::Enum(b)) => a == b,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:75:47
[INFO] [stdout]    |
[INFO] [stdout] 75 |             (Def2::Unit(a), Def2::Unit(b)) => (a == b),
[INFO] [stdout]    |                                               ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 75 -             (Def2::Unit(a), Def2::Unit(b)) => (a == b),
[INFO] [stdout] 75 +             (Def2::Unit(a), Def2::Unit(b)) => a == b,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> score/scope.rs:240:42
[INFO] [stdout]     |
[INFO] [stdout] 240 | ...                   tail = &tail[1..];
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::BigInt`
[INFO] [stdout]  --> ty2/subtypes.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use num::BigInt;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> score/mod.rs:792:18
[INFO] [stdout]     |
[INFO] [stdout] 792 |         for i in 0..name.parts.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::BigInt`
[INFO] [stdout]  --> ty2/types.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use num::BigInt;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> score/mod.rs:841:78
[INFO] [stdout]     |
[INFO] [stdout] 841 |                 _ => return Ok((res_name.value, defs, seen_span, &name.parts[i..])),
[INFO] [stdout]     |                                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> nodes/expr.rs:493:32
[INFO] [stdout]     |
[INFO] [stdout] 493 |         let indices: Vec<_> = (0..record_ty.fields.len())
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocOwnedSelf`, `AllocSelf`
[INFO] [stdout]  --> hir/prelude.rs:9:71
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use crate::arenas::{Alloc, AllocInto, AllocOwned, AllocOwnedInto, AllocOwnedSelf, AllocSelf};
[INFO] [stdout]   |                                                                       ^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> hir/prelude.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use crate::ty2::{self, Type};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::obj_decl::*`
[INFO] [stdout]   --> hir/mod.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub use self::obj_decl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:70:47
[INFO] [stdout]    |
[INFO] [stdout] 70 |             (Def2::Node(a), Def2::Node(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                               ^                              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 70 -             (Def2::Node(a), Def2::Node(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 70 +             (Def2::Node(a), Def2::Node(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:71:45
[INFO] [stdout]    |
[INFO] [stdout] 71 |             (Def2::Lib(a), Def2::Lib(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                             ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 71 -             (Def2::Lib(a), Def2::Lib(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 71 +             (Def2::Lib(a), Def2::Lib(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:72:45
[INFO] [stdout]    |
[INFO] [stdout] 72 |             (Def2::Pkg(a), Def2::Pkg(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                             ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 72 -             (Def2::Pkg(a), Def2::Pkg(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 72 +             (Def2::Pkg(a), Def2::Pkg(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:73:47
[INFO] [stdout]    |
[INFO] [stdout] 73 |             (Def2::Type(a), Def2::Type(b)) => (a as *const _ == b as *const _),
[INFO] [stdout]    |                                               ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 73 -             (Def2::Type(a), Def2::Type(b)) => (a as *const _ == b as *const _),
[INFO] [stdout] 73 +             (Def2::Type(a), Def2::Type(b)) => a as *const _ == b as *const _,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:74:47
[INFO] [stdout]    |
[INFO] [stdout] 74 |             (Def2::Enum(a), Def2::Enum(b)) => (a == b),
[INFO] [stdout]    |                                               ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 74 -             (Def2::Enum(a), Def2::Enum(b)) => (a == b),
[INFO] [stdout] 74 +             (Def2::Enum(a), Def2::Enum(b)) => a == b,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> scope2.rs:75:47
[INFO] [stdout]    |
[INFO] [stdout] 75 |             (Def2::Unit(a), Def2::Unit(b)) => (a == b),
[INFO] [stdout]    |                                               ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 75 -             (Def2::Unit(a), Def2::Unit(b)) => (a == b),
[INFO] [stdout] 75 +             (Def2::Unit(a), Def2::Unit(b)) => a == b,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::BigInt`
[INFO] [stdout]  --> ty2/subtypes.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use num::BigInt;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::BigInt`
[INFO] [stdout]  --> ty2/types.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use num::BigInt;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> nodes/expr.rs:493:32
[INFO] [stdout]     |
[INFO] [stdout] 493 |         let indices: Vec<_> = (0..record_ty.fields.len())
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: struct takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> hir/arena.rs:17:21
[INFO] [stdout]     |
[INFO] [stdout] 17  |         const_decl: ConstDecl<'t>,
[INFO] [stdout]     |                     ^^^^^^^^^---- help: remove these generics
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     expected 0 lifetime arguments
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 0 lifetime parameters
[INFO] [stdout]    --> hir/mod.rs:509:12
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub struct ConstDecl {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: struct takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> hir/arena.rs:23:35
[INFO] [stdout]     |
[INFO] [stdout] 23  |         const_decl_slot: Slot<'t, ConstDecl<'t>>,
[INFO] [stdout]     |                                   ^^^^^^^^^---- help: remove these generics
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   expected 0 lifetime arguments
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 0 lifetime parameters
[INFO] [stdout]    --> hir/mod.rs:509:12
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub struct ConstDecl {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/lib.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |     units: Vec<&'t LatentNode<'t, Node<'t>>>,
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/pkg.rs:14:35
[INFO] [stdout]    |
[INFO] [stdout] 14 |     decls: Vec<&'t LatentNode<'t, Decl2<'t>>>,
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> scope2.rs:26:34
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Node(&'t hir::LatentNode<'t, Node<'t>>),
[INFO] [stdout]    |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]    --> debug.rs:134:41
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, konst2::Const2<'t>> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]    --> debug.rs:140:41
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, ty2::Type> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 |     + AllocOwnedInto<'t, Const2<'t>>
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |     + AllocOwnedInto<'t, Type>
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:40:30
[INFO] [stdout]    |
[INFO] [stdout] 40 |         + AllocOwnedInto<'t, Const2<'t>>
[INFO] [stdout]    |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |         + AllocOwnedInto<'t, Type>
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/lib.rs:60:49
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn units(&self) -> &[&'t LatentNode<'t, Node<'t>>] {
[INFO] [stdout]    |                                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/pkg.rs:25:49
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn decls(&self) -> &[&'t LatentNode<'t, Decl2<'t>>] {
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> konst2/arena.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<'t> AllocOwned<'t, 't, Const2<'t>> for ConstArena<'t> {
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> ty2/arena.rs:27:29
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl<'t> AllocOwned<'t, 't, Type> for TypeArena<'t> {
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: struct takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> hir/arena.rs:17:21
[INFO] [stdout]     |
[INFO] [stdout] 17  |         const_decl: ConstDecl<'t>,
[INFO] [stdout]     |                     ^^^^^^^^^---- help: remove these generics
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     expected 0 lifetime arguments
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 0 lifetime parameters
[INFO] [stdout]    --> hir/mod.rs:509:12
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub struct ConstDecl {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: struct takes 0 lifetime arguments but 1 lifetime argument was supplied
[INFO] [stdout]    --> hir/arena.rs:23:35
[INFO] [stdout]     |
[INFO] [stdout] 23  |         const_decl_slot: Slot<'t, ConstDecl<'t>>,
[INFO] [stdout]     |                                   ^^^^^^^^^---- help: remove these generics
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   expected 0 lifetime arguments
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 0 lifetime parameters
[INFO] [stdout]    --> hir/mod.rs:509:12
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub struct ConstDecl {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/lib.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |     units: Vec<&'t LatentNode<'t, Node<'t>>>,
[INFO] [stdout]    |                                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/pkg.rs:14:35
[INFO] [stdout]    |
[INFO] [stdout] 14 |     decls: Vec<&'t LatentNode<'t, Decl2<'t>>>,
[INFO] [stdout]    |                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> scope2.rs:26:34
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Node(&'t hir::LatentNode<'t, Node<'t>>),
[INFO] [stdout]    |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]    --> debug.rs:134:41
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, konst2::Const2<'t>> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]    --> debug.rs:140:41
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, ty2::Type> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:32:26
[INFO] [stdout]    |
[INFO] [stdout] 32 |     + AllocOwnedInto<'t, Const2<'t>>
[INFO] [stdout]    |                          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:33:26
[INFO] [stdout]    |
[INFO] [stdout] 33 |     + AllocOwnedInto<'t, Type>
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:40:30
[INFO] [stdout]    |
[INFO] [stdout] 40 |         + AllocOwnedInto<'t, Const2<'t>>
[INFO] [stdout]    |                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/expr.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |         + AllocOwnedInto<'t, Type>
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/lib.rs:60:49
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn units(&self) -> &[&'t LatentNode<'t, Node<'t>>] {
[INFO] [stdout]    |                                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> hir/pkg.rs:25:49
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn decls(&self) -> &[&'t LatentNode<'t, Decl2<'t>>] {
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> konst2/arena.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl<'t> AllocOwned<'t, 't, Const2<'t>> for ConstArena<'t> {
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
[INFO] [stdout]   --> ty2/arena.rs:27:29
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl<'t> AllocOwned<'t, 't, Type> for TypeArena<'t> {
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::ConstDecl: node::FromAst<'t>` is not satisfied in `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> arenas.rs:165:28
[INFO] [stdout]     |
[INFO] [stdout] 165 |           impl<'a, $($lt),*> $crate::arenas::Alloc<'a, 'a, $type> for $arena_name<$($lt),*> where $($lt: 'a),* {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ within `slot::Slot<'t, hir::ConstDecl>`, the trait `node::FromAst<'t>` is not implemented for `hir::ConstDecl`, which is required by `slot::Slot<'t, hir::ConstDecl>: Sized`
[INFO] [stdout]     |
[INFO] [stdout]    ::: hir/arena.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | / make_arenas!(
[INFO] [stdout] 9   | |     /// An arena to allocate HIR nodes into.
[INFO] [stdout] 10  | |     pub struct Arenas2<'t> {
[INFO] [stdout] 11  | |         scope_data: ScopeData<'t>,
[INFO] [stdout] ...   |
[INFO] [stdout] 24  | |     }
[INFO] [stdout] 25  | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `node::FromAst<'t>`:
[INFO] [stdout]               hir::obj_decl::ConstDecl<'t>
[INFO] [stdout]               pkg::Package2<'t>
[INFO] [stdout]               subtype_decl::SubtypeInd2<'t>
[INFO] [stdout]               hir::type_decl::TypeDecl2<'t>
[INFO] [stdout] note: required because it appears within the type `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> hir/slot.rs:13:12
[INFO] [stdout]     |
[INFO] [stdout] 13  | pub struct Slot<'t, T>(RefCell<SlotState<'t, T>>)
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] note: required by an implicit `Sized` bound in `arenas::Alloc`
[INFO] [stdout]    --> arenas.rs:10:25
[INFO] [stdout]     |
[INFO] [stdout] 10  | pub trait Alloc<'a, 't, T: 't> {
[INFO] [stdout]     |                         ^ required by the implicit `Sized` requirement on this type parameter in `Alloc`
[INFO] [stdout]     = note: this error originates in the macro `make_arenas` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::ConstDecl: node::FromAst<'t>` is not satisfied
[INFO] [stdout]   --> hir/arena.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |         const_decl_slot: Slot<'t, ConstDecl<'t>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^ the trait `node::FromAst<'t>` is not implemented for `hir::ConstDecl`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `node::FromAst<'t>`:
[INFO] [stdout]              hir::obj_decl::ConstDecl<'t>
[INFO] [stdout]              pkg::Package2<'t>
[INFO] [stdout]              subtype_decl::SubtypeInd2<'t>
[INFO] [stdout]              hir::type_decl::TypeDecl2<'t>
[INFO] [stdout] note: required by a bound in `slot::Slot`
[INFO] [stdout]   --> hir/slot.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Slot<'t, T>(RefCell<SlotState<'t, T>>)
[INFO] [stdout]    |            ---- required by a bound in this struct
[INFO] [stdout] 14 | where
[INFO] [stdout] 15 |     T: FromAst<'t> + 't;
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `Slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::ConstDecl: node::FromAst<'t>` is not satisfied in `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> arenas.rs:165:28
[INFO] [stdout]     |
[INFO] [stdout] 165 |           impl<'a, $($lt),*> $crate::arenas::Alloc<'a, 'a, $type> for $arena_name<$($lt),*> where $($lt: 'a),* {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ within `slot::Slot<'t, hir::ConstDecl>`, the trait `node::FromAst<'t>` is not implemented for `hir::ConstDecl`, which is required by `slot::Slot<'t, hir::ConstDecl>: Sized`
[INFO] [stdout]     |
[INFO] [stdout]    ::: hir/arena.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | / make_arenas!(
[INFO] [stdout] 9   | |     /// An arena to allocate HIR nodes into.
[INFO] [stdout] 10  | |     pub struct Arenas2<'t> {
[INFO] [stdout] 11  | |         scope_data: ScopeData<'t>,
[INFO] [stdout] ...   |
[INFO] [stdout] 24  | |     }
[INFO] [stdout] 25  | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `node::FromAst<'t>`:
[INFO] [stdout]               hir::obj_decl::ConstDecl<'t>
[INFO] [stdout]               pkg::Package2<'t>
[INFO] [stdout]               subtype_decl::SubtypeInd2<'t>
[INFO] [stdout]               hir::type_decl::TypeDecl2<'t>
[INFO] [stdout] note: required because it appears within the type `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> hir/slot.rs:13:12
[INFO] [stdout]     |
[INFO] [stdout] 13  | pub struct Slot<'t, T>(RefCell<SlotState<'t, T>>)
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] note: required by an implicit `Sized` bound in `arenas::Alloc`
[INFO] [stdout]    --> arenas.rs:10:25
[INFO] [stdout]     |
[INFO] [stdout] 10  | pub trait Alloc<'a, 't, T: 't> {
[INFO] [stdout]     |                         ^ required by the implicit `Sized` requirement on this type parameter in `Alloc`
[INFO] [stdout]     = note: this error originates in the macro `make_arenas` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::ConstDecl: node::FromAst<'t>` is not satisfied
[INFO] [stdout]   --> hir/arena.rs:23:26
[INFO] [stdout]    |
[INFO] [stdout] 23 |         const_decl_slot: Slot<'t, ConstDecl<'t>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^ the trait `node::FromAst<'t>` is not implemented for `hir::ConstDecl`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `node::FromAst<'t>`:
[INFO] [stdout]              hir::obj_decl::ConstDecl<'t>
[INFO] [stdout]              pkg::Package2<'t>
[INFO] [stdout]              subtype_decl::SubtypeInd2<'t>
[INFO] [stdout]              hir::type_decl::TypeDecl2<'t>
[INFO] [stdout] note: required by a bound in `slot::Slot`
[INFO] [stdout]   --> hir/slot.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Slot<'t, T>(RefCell<SlotState<'t, T>>)
[INFO] [stdout]    |            ---- required by a bound in this struct
[INFO] [stdout] 14 | where
[INFO] [stdout] 15 |     T: FromAst<'t> + 't;
[INFO] [stdout]    |        ^^^^^^^^^^^ required by this bound in `Slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::ConstDecl: node::FromAst<'t>` is not satisfied in `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> arenas.rs:166:32
[INFO] [stdout]     |
[INFO] [stdout] 166 |               fn alloc(&'a self, value: $type) -> &'a mut $type {
[INFO] [stdout]     |                                  ^^^^^ within `slot::Slot<'t, hir::ConstDecl>`, the trait `node::FromAst<'t>` is not implemented for `hir::ConstDecl`, which is required by `slot::Slot<'t, hir::ConstDecl>: Sized`
[INFO] [stdout]     |
[INFO] [stdout]    ::: hir/arena.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | / make_arenas!(
[INFO] [stdout] 9   | |     /// An arena to allocate HIR nodes into.
[INFO] [stdout] 10  | |     pub struct Arenas2<'t> {
[INFO] [stdout] 11  | |         scope_data: ScopeData<'t>,
[INFO] [stdout] ...   |
[INFO] [stdout] 24  | |     }
[INFO] [stdout] 25  | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `node::FromAst<'t>`:
[INFO] [stdout]               hir::obj_decl::ConstDecl<'t>
[INFO] [stdout]               pkg::Package2<'t>
[INFO] [stdout]               subtype_decl::SubtypeInd2<'t>
[INFO] [stdout]               hir::type_decl::TypeDecl2<'t>
[INFO] [stdout] note: required because it appears within the type `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> hir/slot.rs:13:12
[INFO] [stdout]     |
[INFO] [stdout] 13  | pub struct Slot<'t, T>(RefCell<SlotState<'t, T>>)
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout]     = note: this error originates in the macro `make_arenas` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]    --> hir/arena.rs:23:26
[INFO] [stdout]     |
[INFO] [stdout] 23  |         const_decl_slot: &Slot<'t, ConstDecl<'t>>,
[INFO] [stdout]     |                          +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::arena::Arenas2<'_>: arenas::Alloc<'_, '_, slot::Slot<'_, hir::obj_decl::ConstDecl<'t>>>` is not satisfied
[INFO] [stdout]   --> hir/obj_decl.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 let slot: &_ = context.alloc(Slot::new((ast.span, name, ty, init), context));
[INFO] [stdout]    |                                        ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `arenas::Alloc<'_, '_, slot::Slot<'_, hir::obj_decl::ConstDecl<'t>>>` is not implemented for `hir::arena::Arenas2<'_>`, which is required by `alloc_ctx::AllocContext<'t>: arenas::Alloc<'_, '_, _>`
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `arenas::Alloc<'a, 't, T>`:
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, scope2::ScopeData<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, lib::Library<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, pkg::Package2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::type_decl::TypeDecl2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, subtype_decl::SubtypeInd2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::ConstDecl>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::expr::LitExpr>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, slot::Slot<'t, pkg::Package2<'t>>>>
[INFO] [stdout]            and 3 others
[INFO] [stdout] note: required for `alloc_ctx::AllocContext<'t>` to implement `arenas::Alloc<'_, '_, slot::Slot<'_, hir::obj_decl::ConstDecl<'t>>>`
[INFO] [stdout]   --> hir/alloc_ctx.rs:36:21
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<'a, 't, T: 't> Alloc<'a, 't, T> for AllocContext<'t>
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 | where
[INFO] [stdout] 38 |     Arenas2<'t>: Alloc<'t, 't, T>,
[INFO] [stdout]    |                  ---------------- unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::arena::Arenas2<'_>: arenas::Alloc<'_, '_, hir::obj_decl::ConstDecl<'t>>` is not satisfied
[INFO] [stdout]   --> hir/obj_decl.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 let slot: &_ = context.alloc(Slot::new((ast.span, name, ty, init), context));
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `arenas::Alloc<'_, '_, hir::obj_decl::ConstDecl<'t>>` is not implemented for `hir::arena::Arenas2<'_>`, which is required by `for<'a> alloc_ctx::AllocContext<'t>: arenas::Alloc<'a, '_, hir::obj_decl::ConstDecl<'t>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `arenas::Alloc<'a, 't, T>`:
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, scope2::ScopeData<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, lib::Library<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, pkg::Package2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::type_decl::TypeDecl2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, subtype_decl::SubtypeInd2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::ConstDecl>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::expr::LitExpr>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, slot::Slot<'t, pkg::Package2<'t>>>>
[INFO] [stdout]            and 3 others
[INFO] [stdout] note: required for `alloc_ctx::AllocContext<'t>` to implement `for<'a> arenas::Alloc<'a, '_, hir::obj_decl::ConstDecl<'t>>`
[INFO] [stdout]   --> hir/alloc_ctx.rs:36:21
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<'a, 't, T: 't> Alloc<'a, 't, T> for AllocContext<'t>
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 | where
[INFO] [stdout] 38 |     Arenas2<'t>: Alloc<'t, 't, T>,
[INFO] [stdout]    |                  ---------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `slot::Slot::<'t, T>::new`
[INFO] [stdout]   --> hir/slot.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |     T::Context: for<'a> Alloc<'a, 't, T> + Clone,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Slot::<'t, T>::new`
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn new(ast: T::LatentInput, context: T::Context) -> Slot<'t, T> {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::ConstDecl: node::FromAst<'t>` is not satisfied in `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> arenas.rs:166:32
[INFO] [stdout]     |
[INFO] [stdout] 166 |               fn alloc(&'a self, value: $type) -> &'a mut $type {
[INFO] [stdout]     |                                  ^^^^^ within `slot::Slot<'t, hir::ConstDecl>`, the trait `node::FromAst<'t>` is not implemented for `hir::ConstDecl`, which is required by `slot::Slot<'t, hir::ConstDecl>: Sized`
[INFO] [stdout]     |
[INFO] [stdout]    ::: hir/arena.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | / make_arenas!(
[INFO] [stdout] 9   | |     /// An arena to allocate HIR nodes into.
[INFO] [stdout] 10  | |     pub struct Arenas2<'t> {
[INFO] [stdout] 11  | |         scope_data: ScopeData<'t>,
[INFO] [stdout] ...   |
[INFO] [stdout] 24  | |     }
[INFO] [stdout] 25  | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `node::FromAst<'t>`:
[INFO] [stdout]               hir::obj_decl::ConstDecl<'t>
[INFO] [stdout]               pkg::Package2<'t>
[INFO] [stdout]               subtype_decl::SubtypeInd2<'t>
[INFO] [stdout]               hir::type_decl::TypeDecl2<'t>
[INFO] [stdout] note: required because it appears within the type `slot::Slot<'t, hir::ConstDecl>`
[INFO] [stdout]    --> hir/slot.rs:13:12
[INFO] [stdout]     |
[INFO] [stdout] 13  | pub struct Slot<'t, T>(RefCell<SlotState<'t, T>>)
[INFO] [stdout]     |            ^^^^
[INFO] [stdout]     = help: unsized fn params are gated as an unstable feature
[INFO] [stdout]     = note: this error originates in the macro `make_arenas` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: function arguments must have a statically known size, borrowed types always have a known size
[INFO] [stdout]    --> hir/arena.rs:23:26
[INFO] [stdout]     |
[INFO] [stdout] 23  |         const_decl_slot: &Slot<'t, ConstDecl<'t>>,
[INFO] [stdout]     |                          +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::arena::Arenas2<'_>: arenas::Alloc<'_, '_, slot::Slot<'_, hir::obj_decl::ConstDecl<'t>>>` is not satisfied
[INFO] [stdout]   --> hir/obj_decl.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 let slot: &_ = context.alloc(Slot::new((ast.span, name, ty, init), context));
[INFO] [stdout]    |                                        ----- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `arenas::Alloc<'_, '_, slot::Slot<'_, hir::obj_decl::ConstDecl<'t>>>` is not implemented for `hir::arena::Arenas2<'_>`, which is required by `alloc_ctx::AllocContext<'t>: arenas::Alloc<'_, '_, _>`
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `arenas::Alloc<'a, 't, T>`:
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, scope2::ScopeData<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, lib::Library<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, pkg::Package2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::type_decl::TypeDecl2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, subtype_decl::SubtypeInd2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::ConstDecl>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::expr::LitExpr>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, slot::Slot<'t, pkg::Package2<'t>>>>
[INFO] [stdout]            and 3 others
[INFO] [stdout] note: required for `alloc_ctx::AllocContext<'t>` to implement `arenas::Alloc<'_, '_, slot::Slot<'_, hir::obj_decl::ConstDecl<'t>>>`
[INFO] [stdout]   --> hir/alloc_ctx.rs:36:21
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<'a, 't, T: 't> Alloc<'a, 't, T> for AllocContext<'t>
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 | where
[INFO] [stdout] 38 |     Arenas2<'t>: Alloc<'t, 't, T>,
[INFO] [stdout]    |                  ---------------- unsatisfied trait bound introduced here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `hir::arena::Arenas2<'_>: arenas::Alloc<'_, '_, hir::obj_decl::ConstDecl<'t>>` is not satisfied
[INFO] [stdout]   --> hir/obj_decl.rs:31:46
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 let slot: &_ = context.alloc(Slot::new((ast.span, name, ty, init), context));
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `arenas::Alloc<'_, '_, hir::obj_decl::ConstDecl<'t>>` is not implemented for `hir::arena::Arenas2<'_>`, which is required by `for<'a> alloc_ctx::AllocContext<'t>: arenas::Alloc<'a, '_, hir::obj_decl::ConstDecl<'t>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `arenas::Alloc<'a, 't, T>`:
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, scope2::ScopeData<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, lib::Library<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, pkg::Package2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::type_decl::TypeDecl2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, subtype_decl::SubtypeInd2<'t>>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::ConstDecl>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, hir::expr::LitExpr>>
[INFO] [stdout]              <hir::arena::Arenas2<'t> as arenas::Alloc<'a, 'a, slot::Slot<'t, pkg::Package2<'t>>>>
[INFO] [stdout]            and 3 others
[INFO] [stdout] note: required for `alloc_ctx::AllocContext<'t>` to implement `for<'a> arenas::Alloc<'a, '_, hir::obj_decl::ConstDecl<'t>>`
[INFO] [stdout]   --> hir/alloc_ctx.rs:36:21
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl<'a, 't, T: 't> Alloc<'a, 't, T> for AllocContext<'t>
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 | where
[INFO] [stdout] 38 |     Arenas2<'t>: Alloc<'t, 't, T>,
[INFO] [stdout]    |                  ---------------- unsatisfied trait bound introduced here
[INFO] [stdout] note: required by a bound in `slot::Slot::<'t, T>::new`
[INFO] [stdout]   --> hir/slot.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |     T::Context: for<'a> Alloc<'a, 't, T> + Clone,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Slot::<'t, T>::new`
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn new(ast: T::LatentInput, context: T::Context) -> Slot<'t, T> {
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> debug.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, konst2::Const2<'t>> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |              -- lifetime `'t` defined here
[INFO] [stdout] 135 |     fn alloc_owned(&'b self, value: OwnedConst<'t>) -> &'t Const2<'t> {
[INFO] [stdout]     |                    -------- `self` is a reference that is only valid in the method body
[INFO] [stdout] 136 |         self.const_arena.alloc_owned(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `self` escapes the method body here
[INFO] [stdout]     |         argument requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> debug.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, ty2::Type> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |              -- lifetime `'t` defined here
[INFO] [stdout] 141 |     fn alloc_owned(&'b self, value: ty2::OwnedType<'t>) -> &'t ty2::Type {
[INFO] [stdout]     |                    -------- `self` is a reference that is only valid in the method body
[INFO] [stdout] 142 |         self.type_arena.alloc_owned(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `self` escapes the method body here
[INFO] [stdout]     |         argument requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> debug.rs:152:24
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl<'t> Visitor<'t> for TypeVisitor<'t> {
[INFO] [stdout]     |      -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn visit_type_decl(&mut self, decl: &'t hir::TypeDecl2<'t>) {
[INFO] [stdout]     |                        --------- `self` is a reference that is only valid in the method body
[INFO] [stdout] 152 |         if let Ok(t) = decl.declared_type(self as &_) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `self` escapes the method body here
[INFO] [stdout]     |                        argument requires that `'t` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout]     = note: requirement occurs because of the type `hir::type_decl::TypeDecl2<'_>`, which makes the generic argument `'_` invariant
[INFO] [stdout]     = note: the struct `hir::type_decl::TypeDecl2<'t>` is invariant over the parameter `'t`
[INFO] [stdout]     = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> hir/expr.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 135 |   impl<'t> Expr2<'t> for LitExpr {
[INFO] [stdout]     |        -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 143 |       fn constant_value(&self, ctx: &ExprContext<'t>) -> Result<&'t Const2<'t>> {
[INFO] [stdout]     |                                --- `ctx` is a reference that is only valid in the method body
[INFO] [stdout] 144 |           Ok(ctx.alloc_owned(match self.value {
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 145 | |             LitExprValue::Integer(ref v) => IntegerConst::try_new(&UniversalIntegerType, v.clone())
[INFO] [stdout] 146 | |                 .emit(ctx)?
[INFO] [stdout] 147 | |                 .into_owned(),
[INFO] [stdout] ...   |
[INFO] [stdout] 155 | |             }
[INFO] [stdout] 156 | |         }))
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________`ctx` escapes the method body here
[INFO] [stdout]     |            argument requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> hir/expr.rs:221:30
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl<'t> Range2<'t> {
[INFO] [stdout]     |      -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 221 |                 Ok((d.value, ctx.maybe_alloc(lc?), ctx.maybe_alloc(rc?)))
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^ requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> hir/type_decl.rs:134:42
[INFO] [stdout]     |
[INFO] [stdout] 40  | impl<'t> TypeDecl2<'t> {
[INFO] [stdout]     |      -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 134 |                 let ty = AccessType::new(subtype.declared_type(ctx)?);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cast requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> debug.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, konst2::Const2<'t>> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |              -- lifetime `'t` defined here
[INFO] [stdout] 135 |     fn alloc_owned(&'b self, value: OwnedConst<'t>) -> &'t Const2<'t> {
[INFO] [stdout]     |                    -------- `self` is a reference that is only valid in the method body
[INFO] [stdout] 136 |         self.const_arena.alloc_owned(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `self` escapes the method body here
[INFO] [stdout]     |         argument requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> debug.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl<'a, 'b, 't: 'a> AllocOwned<'b, 't, ty2::Type> for &'a TypeVisitor<'t> {
[INFO] [stdout]     |              -- lifetime `'t` defined here
[INFO] [stdout] 141 |     fn alloc_owned(&'b self, value: ty2::OwnedType<'t>) -> &'t ty2::Type {
[INFO] [stdout]     |                    -------- `self` is a reference that is only valid in the method body
[INFO] [stdout] 142 |         self.type_arena.alloc_owned(value)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `self` escapes the method body here
[INFO] [stdout]     |         argument requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> debug.rs:152:24
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl<'t> Visitor<'t> for TypeVisitor<'t> {
[INFO] [stdout]     |      -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn visit_type_decl(&mut self, decl: &'t hir::TypeDecl2<'t>) {
[INFO] [stdout]     |                        --------- `self` is a reference that is only valid in the method body
[INFO] [stdout] 152 |         if let Ok(t) = decl.declared_type(self as &_) {
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `self` escapes the method body here
[INFO] [stdout]     |                        argument requires that `'t` must outlive `'static`
[INFO] [stdout]     |
[INFO] [stdout]     = note: requirement occurs because of the type `hir::type_decl::TypeDecl2<'_>`, which makes the generic argument `'_` invariant
[INFO] [stdout]     = note: the struct `hir::type_decl::TypeDecl2<'t>` is invariant over the parameter `'t`
[INFO] [stdout]     = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> hir/expr.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 135 |   impl<'t> Expr2<'t> for LitExpr {
[INFO] [stdout]     |        -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 143 |       fn constant_value(&self, ctx: &ExprContext<'t>) -> Result<&'t Const2<'t>> {
[INFO] [stdout]     |                                --- `ctx` is a reference that is only valid in the method body
[INFO] [stdout] 144 |           Ok(ctx.alloc_owned(match self.value {
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 145 | |             LitExprValue::Integer(ref v) => IntegerConst::try_new(&UniversalIntegerType, v.clone())
[INFO] [stdout] 146 | |                 .emit(ctx)?
[INFO] [stdout] 147 | |                 .into_owned(),
[INFO] [stdout] ...   |
[INFO] [stdout] 155 | |             }
[INFO] [stdout] 156 | |         }))
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |__________`ctx` escapes the method body here
[INFO] [stdout]     |            argument requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> hir/expr.rs:221:30
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl<'t> Range2<'t> {
[INFO] [stdout]     |      -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 221 |                 Ok((d.value, ctx.maybe_alloc(lc?), ctx.maybe_alloc(rc?)))
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^ requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> hir/type_decl.rs:134:42
[INFO] [stdout]     |
[INFO] [stdout] 40  | impl<'t> TypeDecl2<'t> {
[INFO] [stdout]     |      -- lifetime `'t` defined here
[INFO] [stdout] ...
[INFO] [stdout] 134 |                 let ty = AccessType::new(subtype.declared_type(ctx)?);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ cast requires that `'t` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 26 previous errors; 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0228, E0277, E0521.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `moore-vhdl` (lib test) due to 27 previous errors; 15 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 26 previous errors; 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0228, E0277, E0521.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `moore-vhdl` (lib) due to 27 previous errors; 15 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "09f5119f0e0253ca96be5eabb2a91e4b694c2d7f9ab4aa6064471b692317badb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09f5119f0e0253ca96be5eabb2a91e4b694c2d7f9ab4aa6064471b692317badb", kill_on_drop: false }`
[INFO] [stdout] 09f5119f0e0253ca96be5eabb2a91e4b694c2d7f9ab4aa6064471b692317badb
